Skip to content

Conversation

@aanon4
Copy link

@aanon4 aanon4 commented Oct 18, 2013

To enable the RFM69 and RFM12 to talk to each other, a few things in
the RFM12 code need to be changed. These changes call into three
buckets:

1. Modify the payload structure to match that HW version in RFM69
2. Modity the checksum algorithm to match the HW version in RFM69
3. Tweak the radio parameters so they're compatible.

The compatibility mode is enabled by

        #define RF69_COMPAT 1

aanon4 and others added 15 commits October 18, 2013 13:56
    To enable the RFM69 and RFM12 to talk to each other, a few things in
    the RFM12 code need to be changed. These changes call into three
    buckets:

    1. Modify the payload structure to match that HW version in RFM69
    2. Modity the checksum algorithm to match the HW version in RFM69
    3. Tweak the radio parameters so they're compatible.

    The compatibility mode is enabled by

            #define RF69_COMPAT 1
Tested using RFM12B_Struct_node and Struct_receive (for RFM69)
Changed to enable ACKs in RFM69 compatibility mode
*radio.GetDataLen();  should be  radio.GetDataLen();
Changed variable access to accessor functions.
Changed wait for ACK from while{} to do{}while so that ACKReceived
always gets called at least once.
Updated RFM12B example sketches to use accessor functions
@elmicha
Copy link

elmicha commented Nov 15, 2015

You don't even need to edit RFM69.cpp, you can set the two values with RFM69::writeReg() after RFM69::initialize():

radio.writeReg(REG_BITRATEMSB, RF_BITRATEMSB_38323);
radio.writeReg(REG_BITRATELSB, RF_BITRATELSB_38323);

These constants are defined in RFM69registers.h, so you need to include it.

@RobWilks
Copy link

That's handy to know. I dislike having to manage many variants of the same library. Many thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants